package com.bjsxt.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bjsxt.domain.WebConfig;
import com.bjsxt.mapper.WebConfigMapper;
import com.bjsxt.service.WebConfigService;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class WebConfigServiceImpl extends ServiceImpl<WebConfigMapper, WebConfig> implements WebConfigService {

    /**
     * 分页查询网站资源配置数据
     *
     * @param page 分页对象<WebConfig>
     * @param name 名称
     * @param type 分组
     * @return 网站资源配置分页数据
     */
    @Override
    public Page<WebConfig> pageByNameAndType(Page<WebConfig> page, String name, String type) {
        // 调用分页方法进行分页数据的查询
        return page(page, new LambdaQueryWrapper<WebConfig>()
                .like(StringUtils.isNotBlank(name), WebConfig::getName, name)
                .eq(StringUtils.isNotBlank(type), WebConfig::getType, type)
        );
    }

    /**
     * 根据类型查询网站资源配置数据
     *
     * @param type   分组, LINK_BANNER ,WEB_BANNER
     * @param status 是否使用 0 否 1是
     * @return 网站资源配置集合数据
     */
    @Override
    public List<WebConfig> listByTypeAndStatus(String type, Byte status) {
        // 调用查询方法进行数据的查询
        return list(new LambdaQueryWrapper<WebConfig>().eq(WebConfig::getType, type).eq(WebConfig::getStatus, status).orderByAsc(WebConfig::getSort));
    }
}
